1. Field of the Invention
This invention relates to the field of object-oriented computer applications, and, more specifically, to network media applications.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever.
2. Background Art
Growing interest in the media distribution capabilities of the Internet and the World Wide Web has resulted in the development of a variety of multimedia data compression and encoding formats or media types, such as MPEG-1, MPEG-2, QuickTime, H.261, PCM, AU and MIDI, for efficient transport of audio, video and other forms of media. Media applications supporting one or more such media types are available for presenting multimedia content downloaded from the Internet or other networks. To enhance the capabilities of those media applications, plug-in decoders are often installed on the user machine to facilitate decompression/decoding of particular media types.
Unfortunately, the installation of plug-in decoders becomes cumbersome in terms of storage resources required for installing the plug-ins on the user computer system. Also, a user is required to locate the often elusive plug-in decoders, and install them on the user computer system prior to viewing any media data of a given format. The utility of a media application is thus limited to those media formats supported by a user's collection of installed plug-in decoders. With the large numbers of current media types, and the constant influx of new media types, it is not feasible to install every type of plug-in decoder. To better illustrate the shortcomings of current media applications, description of a sample networked multimedia environment of the prior art is given below with respect to FIG. 1.
In FIG. 1, user computer system 100 is coupled to server 106 via network 105. Server 106 comprises persistent storage 107, which contains a library of media data of various data types (e.g., JPEG, PCM, MPEG1, Cinepak, etc.). The media data include data files 108, 109 and 110 of data types JPEG, PCM and MPEG1, respectively.
User computer system 100 comprises a persistent storage resource 101, such as a hard drive, and an execution space 103 in temporary storage such as system RAM. Persistent storage 101 contains a plug-in library 102 comprising installed plug-in decoders 111, 112 and 113 corresponding to JPEG, PCM and H.261 data types, respectively. Execution space 103 contains media application 104, which comprises JPEG data file 108' and plug-in JPEG decoder 111' for decoding/decompressing JPEG media data.
JPEG data file 108' is a copy of data file 108, downloaded from server 106. Plug-in decoder 111' is a copy of JPEG decoder 111 loaded from persistent storage 101 to accommodate processing of JPEG data. Because user computer system 100 only has plug-in decoders for JPEG, PCM and H.261 data types installed in persistent storage 101, media application 104 is limited to presenting either JPEG, PCM or H.261 media data. For example, MPEG1 data file 110 from server 106 cannot be presented by media application 104 because there is no plug-in decoder installed in persistent storage 101 for decoding/decompressing MPEG1 media data. There is no mechanism for decoding media data of data types for which a corresponding plug-in is not installed on the user computer system. Further, unused plug-in decoders installed on user computer system 100 represent an inefficient use of storage resources.
For systems such as diskless clients and Network Computers (NCs), which are not equipped with persistent storage such as a hard disk, pre-installation of media decoders is not supported. A plug-in architecture may not be possible, limiting presentation of media to a small number of data types supported by decoders built into the media application itself. No flexibility is provided for new data types.